package ru.lukyanets.transmission.protocol.model.torrent.arguments;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * @author slukyanets
 */
@SuppressWarnings({"unused", "WeakerAccess"})
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
        "peer-limit",
        "bandwidthPriority",
        "files-wanted",
        "files-unwanted",
        "priority-high",
        "priority-low",
        "priority-normal"
})
@Getter
@Setter
public abstract class AbstractCommonArgs {
    @JsonProperty("peer-limit")
    private int peerLimit;

    @JsonProperty("bandwidthPriority")
    private int bandwidthPriority;

    @JsonProperty("files-wanted")
    private List<Integer> filesWanted;

    @JsonProperty("files-unwanted")
    private List<Integer> filesUnwanted;

    @JsonProperty("priority-high")
    private List<Integer> priorityHigh;

    @JsonProperty("priority-low")
    private List<Integer> priorityLow;

    @JsonProperty("priority-normal")
    private List<Integer> priorityNormal;
}
